1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatuses, and products for finding lost objects in a file system having a namespace.
2. Description of Related Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today's computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
Computers have a foundation layer of software called an operating system that stores and organizes files and upon which applications depend for access to computer resources. In an operating system, the overall structure in which objects such as files are named, stored, and organized is called a file system. File systems are often organized in a namespace that consists of a collection of pathnames used to access the objects stored in the file system. These pathnames ‘map’ or ‘link’ an object into the namespace. A pathname is a sequence of symbols and names that identifies a file. Every file in the namespace has a name, called a filename, so the simplest type of pathname is just a filename. To access files in directories, a pathname identifies a path to the file starting from a working directory or from a root directory to the file. Various operating systems have different rules for specifying pathnames. In DOS systems, for example, the root directory is named ‘\’, and each subdirectory is separated by an additional backslash. In UNIX, the root directory is named ‘/’, and each subdirectory is followed by a slash. In Macintosh environments, directories are separated by a colon.
The operating system routinely links and unlinks objects in a file system as the objects are created and deleted. As objects are created, the operating system allocates physical space in the file system for an object and links the created object into the namespace for use by the operating system and various software applications. When an object is deleted, the operating system de-allocates the physical space for the object and unlinks the deleted object from the namespace because it is no longer in use.
Occasionally, objects in the file system unintentionally become unlinked from the namespace due to system crashes, data storage problems, hardware malfunctions, or software errors. These objects remain in the file system, but are no longer represented in the namespace. Objects that remain in the file system, but are no longer represented in the namespace and are not in use are called ‘lost’ objects. Lost objects present a problem for users because they are no longer in the namespace and therefore inaccessible by a user through a pathname. As such, unless found, lost objects may result in data being inaccessible to users despite the fact that the data exists in the file system.
Conventional operating systems typically contain limited software tools for recovering lost objects. For example, Microsoft Windows XPTM contains ‘CHKDSK,’ IBM's i5/OS™ utilizes ‘RCLSTG,’ and UNIX™ contains ‘FSCK.’ These file system repair tools however require the file system to operate in a restricted state that prevents applications and portions of the operating system from using the file system. Often these repair tools must keep the file system in a restricted state for many hours while the repairs take place. Such restrictions on file system use effectively shut down the computer system and therefore limit users access to other resources. The inability to access computer systems often increases business costs and reduces business revenues. Customers choosing not to repair the file system however risk loss or corruption of data.
In addition, some problems are pervasive in the sense that such problems continue to occur between operations of any file system repair tool. CHKDSK does not run continuously, for example. To the extent that CHKDSK locates lost file system object during a run, as soon as any particular run of CHKDSK is completed, file system objects continue to be lost and remain lost until the next time CHKDSK is run. The problem of losing file system objects is therefore seen to be ‘pervasive,’ and traditional file system repair tools do not provide comprehensive solutions to such problems.